{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Demo 07: Algorithms 03. Krylov subspace\n",
    "\n",
    "In this demo the usage of the kylov subsapce family is explaines. This family of algorithms iterate through the eigenvectors of the residual (Ax-b) of the problems in descending order, achieving increased convergence rates as compared to the SART family. \n",
    "\n",
    "In cases where the data is good quality, SART type families tend to reach a better image, but when the data gets very big, or has bad qualily, CGLS is a good and fast algorithm. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Define geometry"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "TIGRE parameters\n",
      "-----\n",
      "Geometry parameters\n",
      "Distance from source to detector (DSD) = 1536 mm\n",
      "Distance from source to origin (DSO)= 1000 mm\n",
      "-----\n",
      "Detector parameters\n",
      "Number of pixels (nDetector) = [128 128]\n",
      "Size of each pixel (dDetector) = [3.2 3.2] mm\n",
      "Total size of the detector (sDetector) = [409.6 409.6] mm\n",
      "-----\n",
      "Image parameters\n",
      "Number of voxels (nVoxel) = [64 64 64]\n",
      "Total size of the image (sVoxel) = [256 256 256] mm\n",
      "Size of each voxel (dVoxel) = [4. 4. 4.] mm\n",
      "-----\n",
      "Offset correction parameters\n",
      "Offset of image from origin (offOrigin) = [0 0 0] mm\n",
      "Offset of detector (offDetector) = [0 0] mm\n",
      "-----\n",
      "Auxillary parameters\n",
      "Samples per pixel of forward projection (accuracy) = 0.5\n",
      "-----\n",
      "Rotation of the Detector (rotDetector) = [0 0 0] rad\n"
     ]
    }
   ],
   "source": [
    "import tigre\n",
    "import numpy as np\n",
    "geo = tigre.geometry(mode='cone',default=True,high_quality=False)\n",
    "print(geo)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Load data and generate projections "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "from tigre.demos.Test_data import data_loader\n",
    "angles = np.linspace(0,2*np.pi,100)\n",
    "head = data_loader.load_head_phantom(geo.nVoxel)\n",
    "projections = tigre.Ax(head,geo,angles,'interpolated')\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Usage of CGLS"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CGLS Algorithm in progress.\n",
      "Esitmated time until completetion (s): 8.925535\n",
      "re-initilization of CGLS called at iteration:19\n",
      "Average time taken for each iteration for CGLS:0.1459274(s)\n",
      "SIRT algorithm in progress.\n",
      "Esitmated time until completetion (s): 4.546947\n"
     ]
    }
   ],
   "source": [
    "#  CGLS has the common 4 inputs for iterative algorithms in TIGRE:\n",
    "#\n",
    "#  Projections, geometry, angles, and number of iterations \n",
    "#\n",
    "# Additionally it contains optional initialization tehcniques, but we\n",
    "# reccomend not using them. CGLS is already quite fast and using them may\n",
    "# lead to divergence.\n",
    "# The options are:\n",
    "#  'Init'    Describes diferent initialization techniques.\n",
    "#             �  'none'     : Initializes the image to zeros (default)\n",
    "#             �  'FDK'      : intializes image to FDK reconstrucition\n",
    "import tigre.algorithms as algs\n",
    "imgCGLS = algs.cgls(projections,geo,angles,niter=20)\n",
    "imgSIRT = algs.sirt(projections,geo,angles,niter=20)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<tigre.utilities.plotimg.plotimg instance at 0x7f3b0ea1fcf8>"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "output = np.hstack((imgCGLS,imgSIRT))\n",
    "tigre.plotimg(output,slice=32)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<tigre.utilities.plotimg.plotimg instance at 0x7f3b03648c68>"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "error = np.hstack((abs(imgCGLS-head), abs(imgSIRT-head)))\n",
    "tigre.plotimg(error,slice=32)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.15+"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
